// 通用组件导出

// 文件上传组件
export { default as FileUpload } from './FileUpload/index.vue'
export { default as ImageUpload } from './ImageUpload/index.vue'

// UI 交互组件
export { default as ConfirmDialog } from './ConfirmDialog/index.vue'
export { default as LoadingButton } from './LoadingButton/index.vue'

// 数据展示组件
export { default as StatusTag } from './StatusTag/index.vue'
export { default as EmptyState } from './EmptyState/index.vue'

// 表单组件
export { default as SearchForm } from './SearchForm/index.vue'
export { default as FormDialog } from './FormDialog/index.vue'

// 数据组件
export { default as DataTable } from './DataTable/index.vue'

// 布局组件
export { default as PageContainer } from './PageContainer/index.vue'

// 现有组件导出
export { default as Breadcrumb } from './Breadcrumb/index.vue'
export { default as Hamburger } from './Hamburger/index.vue'
export { default as IFrame } from './IFrame/index.vue'
export { default as InnerLink } from './InnerLink/index.vue'
export { default as LangSelect } from './LangSelect/index.vue'
export { default as RightPanel } from './RightPanel/index.vue'
export { default as Screenfull } from './Screenfull/index.vue'
export { default as SizeSelect } from './SizeSelect/index.vue'

// 组件类型定义
export interface FileUploadProps {
  modelValue?: any[]
  multiple?: boolean
  accept?: string
  limit?: number
  maxSize?: number
  buttonText?: string
  tip?: string
  drag?: boolean
  disabled?: boolean
  businessType?: string
  businessKey?: string
  showFileList?: boolean
  showCustomFileList?: boolean
  showDownload?: boolean
  autoUpload?: boolean
  uploadUrl?: string
}

export interface ImageUploadProps {
  modelValue?: any[]
  multiple?: boolean
  limit?: number
  maxSize?: number
  placeholderText?: string
  tip?: string
  disabled?: boolean
  businessType?: string
  businessKey?: string
  showImageInfo?: boolean
  showDownload?: boolean
  width?: number
  height?: number
  itemSize?: number
  uploadUrl?: string
  minWidth?: number
  minHeight?: number
  maxWidth?: number
  maxHeight?: number
}
